Unique udts to exploit the power of the connected enterprise

ABSTRACT

Provided herein are systems, methods, and software for facilitating message sessions. In one implementation, a method for building a type-based reporting model associated with an industrial automation environment includes interrogating a system control to acquire a data structure programmed therein, the data structure comprising properties of a component of the industrial automation environment. The method also includes correlating the data structure to a type package object, and generating a model object based on the correlation of the data structure to the type package object, the model configured to visually display the properties of the component on a report.

RELATED APPLICATIONS

This application claims the benefit of, and priority to, U.S.Provisional Patent Application No. 62/329,277, entitled “UNIQUE UDTS TOEXPLOIT THE POWER OF THE CONNECTED ENTERPRISE”, filed Apr. 29, 2016,which is hereby incorporated by reference in its entirety for allpurposes.

TECHNICAL FIELD

Aspects of the disclosure are related to computing hardware and softwaretechnology, and in particular to industrial automation applications.

TECHNICAL BACKGROUND

Industrial controllers and their associated I/O devices are central tothe operation of modern automation systems. These controllers interactwith field devices on the plant floor to control automated processesrelating to such objectives as product manufacture, material handling,batch processing, supervisory control, and other such applications.Industrial controllers store and execute user-defined control programsto effect decision-making in connection with the controlled process.Such programs can include, but are not limited to, ladder logic,sequential function charts, function block diagrams, structured text, orother such programming structures.

Because of the large number of system variables that must be monitoredand controlled in near real-time, industrial automation systems oftengenerate vast amounts of near real-time data. In addition to productionstatistics, data relating to machine health, alarm statuses, operatorfeedback (e.g., manually entered reason codes associated with a downtimecondition), electrical or mechanical load over time, and the like areoften monitored, and in some cases recorded, on a continuous basis. Thisdata is generated by the many industrial devices that can make up agiven automation system, including the industrial controller and itsassociated I/O, telemetry devices for near real-time metering, motioncontrol devices (e.g., drives for controlling the motors that make up amotion system), visualization applications, lot traceability systems(e.g., barcode tracking), etc. Moreover, since many industrialfacilities operate on a 24-hour basis, their associated automationsystems can generate a vast amount of potentially useful data at highrates. For an enterprise with multiple plant facilities, the amount ofgenerated automation data further increases

The large quantity of data generated by modern automation systems makesit possible to apply a broad range of plant analytics to the automationsystems and processes that make up an industrial enterprise or business.Reports, charts, and other human-readable formats are often available ormay be created for plant personnel and others wishing to monitor andreview the generated data in either a real-time mode or at a later timeafter the data has been stored.

A report that has been created to display the data of a given industrialautomation system may find it difficult to find and display similar dataof another industrial automation system. Objects and other components ofthe other system may be similar or even identical to the first system,but due to even slight variations in component names, for example,during the system set up stage, a disconnect can exist between the datastored in the system and a pre-generated report designed to look forspecifically-named objects in the system. Thus, reports previouslycreated may not display all the data they were designed to show.

Creating new reports or even fixing pre-generated reports to show thedata generated by a particular system can be a laborious and tediousmanual process. This process can require setting up individualconnections between data points of the system and the parameter value tobe reported for hundreds of parameters or more.

The above-described deficiencies of today's industrial control andbusiness systems are merely intended to provide an overview of some ofthe problems of conventional systems, and are not intended to beexhaustive. Other problems with conventional systems and correspondingbenefits of the various non-limiting embodiments described herein maybecome further apparent upon review of the following description.

OVERVIEW

Provided herein are systems, methods, and software to facilitatebuilding a type-based reporting model associated with an industrialautomation environment. In one implementation, a method for building atype-based reporting model associated with an industrial automationenvironment includes interrogating a system control to acquire a datastructure programmed therein, the data structure comprising propertiesof a component of the industrial automation environment. The method alsoincludes correlating the data structure to a type package object, andgenerating a model object based on the correlation of the data structureto the type package object, the model configured to visually display theproperties of the component on a report.

In another implementation, one or more computer-readable storage mediahas program instructions stored thereon, wherein the programinstructions, when executed by a computing system, direct the computingsystem to interrogate a system control to acquire a data structureprogrammed therein, the data structure comprising properties of acomponent of the industrial automation environment. The programinstructions further direct the computing system to correlate the datastructure to a type package object and generate a model object based onthe correlation of the data structure to the type package object, themodel configured to visually display the properties of the component ona report.

In another implementation, a reporting system to automatically generatereports of an industrial automation environment from a system control ofan industrial controller configured to control a machine systemcomprises a computing system programmed to interrogate the systemcontrol to acquire a data structure programmed therein, the datastructure comprising properties of a component of the industrialautomation environment. The computing system is further programmed tocorrelate the data structure to a type package object and generate amodel object based on the correlation of the data structure to the typepackage object, the model configured to visually display the propertiesof the component on a report.

This Overview is provided to introduce a selection of concepts in asimplified form that are further described below in the TechnicalDisclosure. It should be understood that this Overview is not intendedto identify key features or essential features of the claimed subjectmatter, nor is it intended to be used to limit the scope of the claimedsubject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the disclosure can be better understood with referenceto the following drawings. While several implementations are describedin connection with these drawings, the disclosure is not limited to theimplementations disclosed herein. On the contrary, the intent is tocover all alternatives, modifications, and equivalents.

FIG. 1 illustrates flow diagram that illustrates an operation forbuilding a type-based reporting model in an exemplary implementation.

FIG. 2 illustrates a TypeSystem in an exemplary implementation.

FIG. 3 illustrates ItemType objects for a TypeSystem package in anexemplary implementation.

FIG. 4 illustrates properties for an ItemType object in an exemplaryimplementation.

FIG. 5 illustrates a plurality of data types in an exemplaryimplementation.

FIG. 6 illustrates data type mapping rules in an exemplaryimplementation.

FIG. 7 illustrates a mock industrial automation system in an exemplaryimplementation.

FIG. 8 illustrates a dialog box in an exemplary implementation.

FIG. 9 illustrates a dialog box in an exemplary implementation.

FIG. 10 illustrates a dialog box in an exemplary implementation.

FIG. 11 illustrates a dialog box in an exemplary implementation.

FIG. 12 illustrates properties for a model object in an exemplaryimplementation.

FIG. 13 illustrates properties for a model object in an exemplaryimplementation.

FIG. 14 illustrates a visual model in an exemplary implementation.

FIG. 15 is a block diagram that illustrates an industrial automationenvironment in an exemplary implementation.

TECHNICAL DISCLOSURE

The following description and associated figures teach the best mode ofthe invention. For the purpose of teaching inventive principles, someconventional aspects of the best mode may be simplified or omitted. Thefollowing claims specify the scope of the invention. Note that someaspects of the best mode may not fall within the scope of the inventionas specified by the claims. Thus, those skilled in the art willappreciate variations from the best mode that fall within the scope ofthe invention. Those skilled in the art will appreciate that thefeatures described below can be combined in various ways to formmultiple variations of the invention. As a result, the invention is notlimited to the specific examples described below, but only by the claimsand their equivalents.

Implementations described herein provide for the generation of modelobjects from containers including or defining the devices included inthe industrial automation system. In one embodiment, the containerincludes a system control file that, as used herein, includes controllogic and execution instructions for control structures found within thecontrol logic for an industrial automation system controller. In anotherembodiment, the container includes an object description file that, asused herein, includes the control structures but does not includecontrol logic for controlling them. The model objects are created fromcorrelations between the control structures and user-defined data typesset up to map the control structures to modelling object equivalentsmore familiar to a user. The implementations allow for automatic orsemi-automatic mapping of attribute, tags, or properties and thecorresponding wire-up of the tags to visual modelling objects.

FIG. 1 illustrates a flow diagram that illustrates an operation 100 forbuilding a type-based reporting model in an exemplary implementation.Operation 100 begins with defining or creating type package objects atstep 102. The type package objects created in step 102 comprise objectsor user-defined data types (UDTs) that can be bound to data types foundin an industrial automation system. The type package objects correspondwith objects that can be visually shown or displayed on a report inorder to report on the data collected for these objects in theindustrial automation system. As shown in FIG. 2, a TypeSystem object200 is shown in a folder tree view. A plurality of packages 202 in theTypeSystem object 200 form user types or type packages containingobjects that can be found in the industrial automation system. Eachpackage 202 can include ItemType objects 204 and EnumType objects 206.ItemType objects 204 are type package classes or objects that define thesystem objects.

Referring to FIG. 3, the ItemType objects 204 for the RA.CE.IPP package202 are shown in an example. An RA.CE.IPP.ACB type package class 300 canbe used to define, for example, an air circuit breaker object. AnRA.CE.IPP.CBInput type package class 302 can be used to define, forexample, a different type of circuit breaker than that defined byRA.CE.IPP.ACB type package class 300. The list of ItemType objects 204for the RA.CE.IPP package 202 shown in FIG. 3 may not be an exhaustivelist, but other objects may be added thereto in embodiments of theinvention.

Referring to FIG. 4, each ItemType object 204 can include one or moreproperties 400 available for that ItemType object 204 in the industrialautomation system. The properties 400 shown in FIG. 4 illustrates anexample of a portion of the available properties 400 for theRA.CE.IPP.CBlnput type package class 302 of RA.CE.IPP package 202.

Referring back to FIG. 1, the creation of type package objects at step102 includes creating the plurality of packages 202, the pluralities ofItemType objects 204 and EnumType objects 206, and the properties andobjects found therein.

After the type package objects are created at step 102, operation 100includes, at step 104, creation of a mapping correlation of the typepackages 202 to objects within an industrial automation controller thatare discovered through interrogation of the controller. FIG. 5illustrates a plurality of data types 500 to match objects that may befound through interrogation of the controller. For example, theplurality of data types 500 includes a “ _0526:002B_0101_82C511B0:I0”data type 502, an AirCB data type 504, an ALARM data type 506, anIEDFeederRelay data type 508, etc. Each of these data types 502-508 maybe a data type created and stored within the controller to match objectsfound in the industrial automation system. However, these data types500, while known to the controller programmed to control them andcollect data therefrom, are not automatically known and bound withobjects of a reporting application or service designed to report datacollected from the data types 500.

As illustrated in FIG. 6, data types 500 can include mapping rules 600and members 602 defining the mapping rule. As shown,_0526:002B_0101_82C511B0:I0 data type 502 includes the members 602 thatdefine how to link the properties of the _0526:002B_0101_82C511B0:I:0object found in the system controller to the type package object 202created at step 102 of operation 100. Through the mapping rule 600 ofthe _0526:002B_0101_82C511B0:I:0 data type 502,the_0526:002B_0101_82C511B0:I:0 object found in the system controllercan be mapped to the RA.CE.IPP.CBInput type package class 302.

Referring back to FIG. 1, operation 100 continues with interrogation ofa system control to find controller objects at step 106. In oneembodiment, the system control is the system controller itself, whichmay be interrogated to find the objects programmed into it. In anotherembodiment, the system control is a project file used to program thesystem controller with objects may be interrogated to determine theobjects that the system controller must have after being programmed withthe project file. FIG. 7 shows a mock industrial automation system 700set up to illustrate a portion of operation 100 and for which thecomponents thereof are desired to have corresponding model objectscreated. Interrogation of the system control 106 includes showing adialog box 800 to a user as shown in FIG. 8 to allow the user toidentify where the controller can be found that is programmed with thecommand system execution file that is to be interrogated. In asucceeding dialog box 900 shown in FIG. 9, the user can identify wherethe project file for the controller is located 902 in one embodiment. Itis the project file 902 that can be interrogated to find the systemcomponents or Logix structures of industrial automation system 700.

In another embodiment, rather than identifying where the system controlfile for the controller is located, the user may identify where theobject description file is located. As stated above, the system controlfile includes control logic and execution instructions for controlstructures found within the control logic for the controller while theobject description file includes the control structures but does notinclude control logic for controlling them. The object description filemay be, for example, a relational database file (e.g., a structuredquery language database file), a long-term persistence database file(e.g., a historian database file), a JavaScript Object Notation file(“JSON”), a comma-separated values file, an extensible markup language(“XML”) file, and the like.

Additionally, dialog box 900 identifies a package name suffix 904 thatwill be bound with found system components that do not correspond withmapping rules 600 that bind them with any of the packages 202. Suchunidentified system components will be bound with a default, genericpackage type incorporating the package name suffix 904 as part of itsobject name.

As shown in FIG. 10, a dialog box 1000 lists known controller or Logixstructures 1002 to their corresponding type package data types 500 andpresents the lists to the user to allow the user to modify the selectionof which structures will be imported as model objects. Though aplurality of Logix structures/model objects may be found throughinterrogation of the controller, a user may decide to import less thanall of the objects found.

As indicated in dialog box 1000, a _0526:002B_0101_82C511B0:I:0 Logixstructure 1004 is correlated to be imported as an RA.CE.IPP.FeederRelaytype, an IEDFeederRelay Logix structure 1006 is correlated to beimported as an RA.CE.IPP.FeederRelay type, and AirCircuitBreaker Logixstructure 1008 is correlated to be imported as an RA.CE.IPP.ACB type.That is, for example, because of the mapping rules 600 of theRA.CE.IPP.ACB type that correlate the AirCircuitBreaker Logix structureproperties with properties of the RA.CE.IPP.ACB object, interrogation ofthe system controller leads to the identification of theAirCircuitBreaker Logix structure, and the mapping rules 600 definedthat this Logix structure type corresponds with the RA.CE.IPP.ACB type.Other correlations are also shown in FIG. 10. One skilled in the artwould recognize that additional Logix structures found in the systemcontroller would be visible to the user through manipulation of thedialog controls on the dialog box 1000.

As shown in FIG. 11, a dialog box 1100 lists and presents unknowncontroller or Logix structures 1102 to the user to allow the user tomodify the selection of which structures will be imported as modelobjects. As indicated in dialog box 1100, since Logix structures 1102are unknown, no mapping rules were identified to associate any of theunknown Logix structures 1102 to known type packages 202. In this case,a generic type package 1104 will be used for any unknown Logixstructures 1102 imported via dialog box 1100.

Referring back to FIG. 1, operation 100 continues with the generation ofmodel objects at step 108 based on the interrogation at step 106. Inthis step, known Logix structures 1002 are bound with their respectiveknown type package classes 204, and unknown Logix structures 1102 arebound with their respective generic type packages 1104. A model objectfor each such binding is generated and stored in a library that is madeavailable to a pre-generated report or to a report generation softwareto allow a user to design a report based on the model objects.

FIG. 12 illustrates at least some of the properties for a generatedRA.CE.IPP.FeederRelay type model object 1200 created from theIEDFeederRelay Logix structure 1006. FIG. 13 illustrates at least someof the properties for a generated RA.CE.IPP.ACB type model object 1300created from the AirCircuitBreaker Logix structure 1008.

Referring back to FIG. 1, operation 100 continues with the creation of areport 110 configured to visually display one or more properties ofgenerated model objects. FIG. 14 illustrates a visual model on a visualdisplay device such as a workstation monitor or mobile device graphicaluser interface (GUI) that may be created or generated from the objectimports. Once the model is created, it can be synchronized for viewingwith an information management and decision support system 1400 such asFACTORYTALK VANTAGEPOINT (FTVP) provided by Rockwell Automation, Inc.CBInput model object 1402 based on the imported_0526:002B_0101_82C511B0:I:0 Logix structure 1004 as an example.

The CBInput model object 1400 includes properties such as theL1_Current, L2_Current, and L3_Current properties that may begraphically shown in a reporting pane 1404 of FTVP 1400 to show therespective property values in real time or at a static point in time ifdesired. Creating the report, as illustrated in FIG. 14, includesplacing a plurality of gauge widgets 1406-1410 onto a workspace 1412 ofreporting pane 1404. Each widget 1406-1410 corresponds to a respectiveproperty 1414 of FTVP 1400 illustrated in a model pane 1416. Widgets1406-1410 are graphical objects that visually display the correspondingproperty 1414 on workspace 1412. Placement of widgets 1406-1410 ontoworkspace 1412 may be accomplished via a drag-and-drop operation of aproperty 1414 from model pane 1416 to workspace 1412. For example, whenthe L1_Current property is dragged from model pane 1416 to workspace1412, FTVP 1400 is programmed to show the L1_Current property as a gaugewidget 1406. Other types of procedures for placing widgets 1406-1410onto workspace 1412 may include menu-driven operations, double-clickoperations, etc.

A report created in reporting pane 1404 may be further published andmade available to a mobile application or to a web-based application forviewing the report or dashboard on another device.

Turning now to FIG. 15, a block diagram that illustrates an industrialautomation environment 1500 in an exemplary implementation is shown.Industrial automation environment 1500 provides an example of anindustrial automation environment that may be utilized to implement theoperation 100 disclosed herein, but other environments could also beused. Industrial automation environment 1500 includes computing system1502, machine system 1504, industrial controller 1506, database system1508, and application integration platform 1510. Machine system 1504 andcontroller 1506 are in communication over a communication link,controller 1506 and database system 1508 communicate over acommunication link, database system 1508 and application integrationplatform 1510 communicate over a communication link, and applicationintegration platform 1510 and computing system 1502 are in communicationover a communication link. Note that there would typically be many moremachine systems in most industrial automation environments, but thenumber of machine systems shown in FIG. 15 has been restricted forclarity.

Industrial automation environment 1500 comprises an automobilemanufacturing factory, food processing plant, oil drilling operation,microprocessor fabrication facility, or some other type of industrialenterprise. Machine system 1504 could comprise a sensor, drive, pump,filter, drill, motor, robot, fabrication machinery, mill, printer, orany other industrial automation equipment, including their associatedcontrol systems. A control system comprises, for example, industrialcontroller 1506, which could include automation controllers,programmable logic controllers (PLCs), programmable automationcontrollers (PACs), or any other controllers used in automation control.Additionally, machine system 1504 could comprise other industrialequipment, such as a brew kettle in a brewery, a reserve of coal orother resources, or any other element that may reside in an industrialautomation environment 1500.

Machine system 1504 continually produces operational data over time. Theoperational data indicates the current status of machine system 1504,such as parameters, pressure, temperature, speed, energy usage,operational equipment effectiveness (OEE), mean time between failure(MTBF), mean time to repair (MTTR), voltage, throughput volumes, times,tank levels, or any other performance status metrics. The operationaldata may comprise dynamic charts or trends, real-time video, or someother graphical content. Machine system 1504 and/or controller 1506 iscapable of transferring the operational data over a communication linkto database system 1508, application integration platform 1510, andcomputing system 1502, typically via a communication network. Databasesystem 1508 could comprise a disk, tape, integrated circuit, server, orsome other memory device. Database system 1508 may reside in a singledevice or may be distributed among multiple memory devices.

Application integration platform 1510 comprises a processing system anda communication transceiver. Application integration platform 1510 mayalso include other components such as a router, server, data storagesystem, and power supply. Application integration platform 1510 mayreside in a single device or may be distributed across multiple devices.Application integration platform 1510 may be a discrete system or may beintegrated within other systems—including other systems withinindustrial automation environment 1500. In some examples, applicationintegration platform 1510 could comprise a FACTORYTALK VANTAGEPOINTserver system provided by Rockwell Automation, Inc.

The communication links over which data is exchanged between machinesystem 1504, industrial controller 1506, database system 1508,application integration platform 1510, and communication interface 1512of computing system 1502 could use metal, air, space, optical fiber suchas glass or plastic, or some other material as the transportmedium—including combinations thereof. The communication links couldcomprise multiple network elements such as routers, gateways,telecommunication switches, servers, processing systems, or othercommunication equipment and systems for providing communication and dataservices. These communication links could use various communicationprotocols, such as TDM, IP, Ethernet, telephony, optical networking,packet networks, wireless mesh networks (WMN), local area networks(LAN), metropolitan area networks (MAN), wide area networks (WAN),hybrid fiber coax (HFC), communication signaling, wireless protocols,communication signaling, peer-to-peer networking over Bluetooth,Bluetooth low energy, Wi-Fi Direct, near field communication (NFC), orsome other communication format, including combinations thereof. Thecommunication links could be direct links or may include intermediatenetworks, systems, or devices.

Computing system 1502 may be representative of any computing apparatus,system, or systems on which the event data saving processes disclosedherein or variations thereof may be suitably implemented. Computingsystem 1502 provides an example of a computing system that could be usedas either a server or a client device in some implementations, althoughsuch devices could have alternative configurations. Examples ofcomputing system 1502 include mobile computing devices, such as cellphones, tablet computers, laptop computers, notebook computers, andgaming devices, as well as any other type of mobile computing devicesand any combination or variation thereof. Examples of computing system1502 also include desktop computers, server computers, and virtualmachines, as well as any other type of computing system, variation, orcombination thereof. In some implementations, computing system 1502could comprise a mobile device capable of operating in a server-likefashion which, among other uses, could be utilized in a wireless meshnetwork.

Computing system 1502 includes processing system 1514, storage system1516, software 1518, communication interface 1512, and user interface1520. Processing system 1514 is operatively coupled with storage system1516, communication interface 1512, and user interface 1520. Processingsystem 1514 loads and executes software 1518 from storage system 1516.Software 1518 includes application 1522 and operating system 1524.Application 1522 may include operation 100 in some examples. Whenexecuted by computing system 1502 in general, and processing system 1514in particular, software 1518 directs computing system 1502 to operate asdescribed herein for operation 100 or variations thereof. In thisexample, user interface 1520 includes display system 1526, which itselfmay be part of a touch screen that also accepts user inputs via toucheson its surface. Computing system 1502 may optionally include additionaldevices, features, or functionality not discussed here for purposes ofbrevity.

The functional block diagrams, operational sequences, and flow diagramsprovided in the figures are representative of exemplary architectures,environments, and methodologies for performing novel aspects of thedisclosure. While, for purposes of simplicity of explanation, themethodologies included herein may be in the form of a functionaldiagram, operational sequence, or flow diagram, and may be described asa series of acts, it is to be understood and appreciated that themethodologies are not limited by the order of acts, as some acts may, inaccordance therewith, occur in a different order and/or concurrentlywith other acts from that shown and described herein. For example, thoseskilled in the art will understand and appreciate that a methodologycould alternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, not all acts illustratedin a methodology may be required for a novel implementation.

The included descriptions and figures depict specific implementations toteach those skilled in the art how to make and use the best mode. Forthe purpose of teaching inventive principles, some conventional aspectshave been simplified or omitted. Those skilled in the art willappreciate variations from these implementations that fall within thescope of the invention. Those skilled in the art will also appreciatethat the features described above can be combined in various ways toform multiple implementations. As a result, the invention is not limitedto the specific implementations described above, but only by the claimsand their equivalents.

What is claimed is:
 1. A method for building a type-based reportingmodel associated with an industrial automation environment, the methodcomprising: interrogating a system control to acquire a data structureprogrammed therein, the data structure comprising properties of acomponent of the industrial automation environment; correlating the datastructure to a type package object; and generating a model object basedon the correlation of the data structure to the type package object, themodel configured to visually display the properties of the component ona report.
 2. The method of claim 1 further comprising displaying atleast one of the properties of the component on the report.
 3. Themethod of claim 1 wherein the system control comprises a systemcontroller programmed based on a project file, wherein the datastructure is programmed in the system controller.
 4. The method of claim1 wherein the system control comprises a project file used to program asystem controller to control the industrial automation environment. 5.The method of claim 1 further comprising creating the report.
 6. Themethod of claim 1 wherein creating the report comprises placing a visualobject on a workspace of the report, the visual object configured tovisually display a value of at least one of the properties of thecomponent on the report.
 7. The method of claim 1 further comprisingcreating the type package object, the type package object comprisingproperties corresponding to the properties of the component.
 8. Themethod of claim 7 further comprising creating a plurality of mappingrules, each mapping rule configured to correlate a respective propertyof the properties of the component to a respective property of the typepackage object.
 9. The method of claim 8 wherein correlating the datastructure to a type package object comprises binding each property ofthe type package object to its respective property of the component. 10.One or more computer-readable storage media having program instructionsstored thereon, wherein the program instructions, when executed by acomputing system, direct the computing system to: interrogate a systemcontrol to acquire a data structure programmed therein, the datastructure comprising properties of a component of the industrialautomation environment; correlate the data structure to a type packageobject; and generate a model object based on the correlation of the datastructure to the type package object, the model configured to visuallydisplay the properties of the component on a report.
 11. The one or morecomputer-readable storage media of claim 10 wherein the programinstructions further direct the computing system to display at least oneof the properties of the component on the report.
 12. The one or morecomputer-readable storage media of claim 10 wherein the programinstructions that direct the computing system to interrogate the systemcontrol further direct the computing system to interrogate a projectfile, wherein the data structure is programmed in the project file. 13.The one or more computer-readable storage media of claim 10 wherein theprogram instructions that direct the computing system to interrogate thesystem control further direct the computing system to interrogate aproject file used to program a system controller to control theindustrial automation environment.
 14. The one or more computer-readablestorage media of claim 10 wherein the report comprises a visual objectpositioned on a workspace of the report, the visual object configured tovisually display a value of at least one of the properties of thecomponent on the report.
 15. The one or more computer-readable storagemedia of claim 10 further comprising creating the type package object,the type package object comprising properties corresponding to theproperties of the component.
 16. The one or more computer-readablestorage media of claim 10 further comprising creating a plurality ofmapping rules, each mapping rule configured to correlate a respectiveproperty of the properties of the component to a respective property ofthe type package object.
 17. The one or more computer-readable storagemedia of claim 10 wherein correlating the data structure to a typepackage object comprises binding each property of the type packageobject to its respective property of the component.
 18. A reportingsystem to automatically generate reports of an industrial automationenvironment from a system control of an industrial controller configuredto control a machine system, the reporting system comprising: acomputing system programmed to: interrogate the system control toacquire a data structure programmed therein, the data structurecomprising properties of a component of the industrial automationenvironment; correlate the data structure to a type package object; andgenerate a model object based on the correlation of the data structureto the type package object, the model configured to visually display theproperties of the component on a report.
 19. The computing system ofclaim 18 wherein the computing system, in being programmed tointerrogate the system control, is programmed to interrogate a projectfile, wherein the data structure is programmed in the project file. 20.The computing system of claim 18 wherein the computing system, in beingprogrammed to interrogate the system control, is programmed tointerrogate a project file used to program a system controller tocontrol the industrial automation environment.